package de.tum.in.elitese.wahlsys.persister.persistence_objects;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * see Table KANDIDAT
 * 
 * @author Christoph Frenzel
 * 
 */
public class Kandidat extends Person {
	private static final List<String> FIELD_NAMES = Collections.unmodifiableList(Arrays.asList(new String[] { "PERSONALAUSWEISNUMMER", "BERUF", "ISMDB", "PARTEI" }));

	private static final String TABLE_NAME = "KANDIDAT";

	private String fBeruf;

	private Boolean fMdB = false;

	private Partei fPartei;

	public String getBeruf() {
		return fBeruf;
	}

	public Partei getPartei() {
		return fPartei;
	}

	@Override
	public List<String> getPersistanceStrings() {
		List<Object> values = new ArrayList<Object>(4);
		values.add(getPersonalausweisnummer());
		values.add(getBeruf());
		values.add(isMdB());
		values.add(getPartei().getName());

		List<String> result = super.getPersistanceStrings();
		result.add(createInsertString(TABLE_NAME, FIELD_NAMES, Collections.unmodifiableList(values)));
		return result;
	}

	public Boolean isMdB() {
		return fMdB;
	}

	public void setBeruf(String beruf) {
		fBeruf = beruf;
	}

	public void setMdB(Boolean isMdB) {
		fMdB = isMdB;
	}

	public void setPartei(Partei partei) {
		fPartei = partei;
	}
}
